package io.gitee.zhangbinhub.admin.po

import io.swagger.v3.oas.annotations.media.Schema

import jakarta.validation.constraints.NotBlank

/**
 * @since JDK 11
 */
@Schema(description = "模块功能配置参数")
data class ModuleFuncPo(

    @field:Schema(description = "ID")
    var id: String? = null,

    @field:Schema(description = "应用ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @get:NotBlank(message = "应用ID不能为空")
    var appId: String? = null,

    @field:Schema(description = "模块名称", requiredMode = Schema.RequiredMode.REQUIRED)
    @get:NotBlank(message = "模块名称不能为空")
    var name: String? = null,

    @field:Schema(description = "模块编码", requiredMode = Schema.RequiredMode.REQUIRED)
    @get:NotBlank(message = "模块编码不能为空")
    var code: String? = null,

    @field:Schema(description = "上级ID", requiredMode = Schema.RequiredMode.REQUIRED)
    @get:NotBlank(message = "上级ID不能为空")
    var parentId: String? = null,

    @field:Schema(description = "关联角色ID")
    var roleIds: MutableList<String> = mutableListOf()

)
